dxp-ux
GET customerBillHistory (TMF678 GET) - V1
This operation retrieves customer bill history from
- ARIA, CSG, EVERTEC for PR.
- LIBERATE, CERILLION for JM.
- LIBERATE for PA.
URL
http://[localhost]:[port]/dxp-ux/v1/{businessId}/customerBill
URL PARAMS
name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A) |
---|---|---|---|
businessId | string | 2 letter ISO 3166 country code Ex: PR, JM, PA | Y (PR, JM, PA) |
Header
name | value | description | required (mandatory-Y, optional-N, Not applicable- N/A) |
---|---|---|---|
client_id | string | The client_id identifying the channel. Minimum characters: 5 | Y (PR, JM, PA) |
client_secret | string | Password associated with the client_id. Minimum characters: 5 | Y (PR, JM, PA) |
X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction Minimum characters: 1 Note - Mule default behavior creates a sample x-correlation-id field if value is not passed from client, API will use this value in case value is not passed in API request | Y (It is mandatory for business for PR, JM, PA) |
lob | string | The Line of Business Identifier currently available are: FIXED, POSTPAID | Y (PR, JM, PA) |
channelId | string | This is to identify the source (Project). Value: APP | Y (PR, JM) , N/A(PA) |
targetSystem | string | Target system identifier Allowed Values : EVERTEC | Y(PR - evertec), N/A(PA, JM) |
Query Param
name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A) |
---|---|---|---|
accountId | string | This is billing account number which is unique for the customer | Y (PR, JM, PA) |
startDate | string | This is startDate for bills retrieval time period. Expected format : yyyy-MM-dd, Eg: 2021-09-16 Note for PR: For Aria backend system we should have pass startDate as Mandatory, Start Date of Bill Period. Not applicable for 12 months bill (from Evertec+csg), when pdfId=true startDate is not applicable for FIXED Line (CSG) | N (PR, JM, PA) |
endDate | string | This is endDate for bills retrieval time period. Expected format : yyyy-MM-dd, Eg: 2021-09-16 Note for PR: For Aria backend system we should have pass endDate as Mandatory, End Date of Bill Period. Not applicable for 12 months bill (from Evertec+csg), when pdfId=true endDate is not applicable for FIXED Line (CSG) | N (PR, JM, PA) |
pdfId | boolean | Flag to indicate that request is to retrieve the 12 months bill(3 months from csg and 9 months from evertec) and PDF Id will be available in billDocument.id, if value is true. If value is false, retrieve 3 months bill from csg. | N (PR) N/A (JM, PA) |
billingAccount.id | string | customer account id, without any "-" | Y (PR - evertec) , N/A (JM , PA) |
relatedParty.id | string | describes the billing provider as a related party playing the role of organization example 002 for AT&T and 001 for Liberty | Y (PR - evertec) , N/A (JM, PA) |
Data Model - Response:
name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A) |
---|---|---|---|
id | string | Unique identifier of the bill invoice | N (PR), Y (JM) , N (PA) |
href | string | Bill unique reference | N/A(PR), N (JM), N/A (PA) |
billDate | datetime | string | The date the invoice was billed. Note for PR: This field type is string and example for PR evertec usecase: "2024-01-10" Note for PA: This field type is string Note for JM: This field type is datetime | N(PR),N (JM) , Y(PA) |
billNo | string | Bill reference known by the customer or the party and displayed on the bill. Could be different from the id | N(PR), N (JM), Y(PA) |
category | string | Category of the bill or invoice produced : normal, duplicate, interim, last, trial customer or credit note for example | N(PR),N (JM), N/A(PA) |
lastUpdate | datetime | string | Date of bill last update Note for PR: This field type is string and this is the recurring bill-from date. Note for JM: This field type is datetime | N(PR),N (JM), N/A(PA) |
nextBillDate | datetime | string | Approximate date of the next bill production given for information (only used for onCycle bill) Note for PR: This field is string and this the recurring bill-through date. Note for JM: This field type is datetime | N(PR),N (JM), N/A(PA) |
paymentDueDate | datetime | string | Date at which the amount due should have been paid. Note for PR: This field type is string and in case DueDateMessage from csg is "ON RECPT"/ "UPON RECPT" indicates immediate payment, current date is mapped to DueDate Note for PA: This field type is string Note for JM: This field type is datetime | N(PR), N (JM), Y(PA) |
runType | string | onCycle (a bill can be created as a result of a cycle run) or offCycle (a bill can be created as a result of other events such as customer request or account close) | N/A(PR), N (JM), N/A (PA) |
amountDue | object | A money | N(PR),N (JM), Y(PA) |
amountDue.unit | string | Currency (ISO4217 norm uses 3 letters to define the currency) | N(PR),N (JM), Y(PA) |
amountDue.value | number | string | Total amount of the statement. Note for PR: This field type is string Note for PA and JM: This field type is number | N(PR),N (JM), Y(PA) |
accountBalance | array | Balances linked to the account | N/A(PR), N (JM), N/A (PA) |
accountBalance.amount | object | Balance amount | N/A(PR), N (JM), N/A (PA) |
accountBalance.balanceType | string | Type of the balance - Previous Balance, deposit balance, disputed balance, loyalty balance, receivable balance.Default value is "BeginningBalance" | N/A(PR), N (JM), N/A (PA) |
accountBalance.amount.value | number | A floating point number | N/A(PR), N (JM), N/A (PA) |
accountBalance.amount.unit | string | Currency (ISO4217 norm uses 3 letters to define the currency) | N/A(PR), N (JM), N/A (PA) |
accountBalance.validFor | object | The period of time for which the attachment is valid. Not in scope | N/A(PR), N (JM), N/A (PA) |
accountBalance.validFor.endDateTime | datetime | End of the time period, using IETC-RFC-3339 format | N/A(PR), N (JM), N/A (PA) |
accountBalance.validFor.startDateTime | datetime | Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end | N/A(PR), N (JM), N/A (PA) |
appliedPayment | array of object | A list of applied payments. For JM: The applied payment is the result of lettering process. It enables to assign automatically or manually part of incoming payment amount to a bill. | N(PR), N (JM), Y(PA) |
appliedPayment.appliedAmount | object | A money | N(PR), N (JM), Y(PA) |
appliedPayment.appliedAmount.unit | string | Currency (ISO4217 norm uses 3 letters to define the currency) | N(PR), N (JM), Y(PA) |
appliedPayment.appliedAmount.value | number | The monetary amount of any new payments applied in this statement | N(PR), N (JM), Y(PA) |
appliedPayment.payment | object | A EntityRef is a detailed description of a bill structure. | N/A(PR), N (JM), Y(PA) |
appliedPayment.payment.id | string | Unique identifier for the EntityRef | N/A(PR), N (JM), Y(PA) |
appliedPayment.payment.href | string | Reference of the EntityRef | N/A(PR), N (JM), N/A (PA) |
appliedPayment.payment.name | string | Name of the EntityRef | N/A(PR), N (JM), N/A (PA) |
appliedPayment.payment.paymentDate | string | Date of the payment | N/A(PR), N/A(JM), Y(PA) |
appliedPayment.payment.@baseType | string | When sub-classing, this defines the super-class | N/A(PR), N (JM), N/A (PA) |
appliedPayment.payment.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N/A(PR), N (JM), N/A (PA) |
appliedPayment.payment.@type | string | When sub-classing, this defines the sub-class entity name | N/A(PR), N (JM), N/A (PA) |
appliedPayment.payment.@referredType | string | The actual type of the target instance when needed for disambiguation. | N/A(PR), N (JM), Y(PA) |
appliedPayment.@baseType | string | When sub-classing, this defines the super-class | N/A(PR), N (JM), N/A (PA) |
appliedPayment.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N/A(PR), N (JM), N/A (PA) |
appliedPayment.@type | string | When sub-classing, this defines the sub-class entity name | N/A(PR), N (JM), N/A (PA) |
billDocument | array | An attachment by value or by reference. For AttachmentRefOrValue, the attribute type,schemaLocation and referredType are related to the contained entity and not to AttchmentRefOrValue itself. Not in scope for list customerBill | N (PR), N (JM), N/A (PA) |
billDocument.id | string | Unique identifier for this particular attachment Note for PR evertec usecase: Expected values are 1 is for Liberty or 2 is for AT&T | N (PR), N (JM), N/A (PA) |
billDocument.href | string | URI for this Attachment | N/A(PR), N (JM), N/A (PA) |
billDocument.attachmentType | string | Attachment type such as video, picture | N/A(PR), N (JM), N/A (PA) |
billDocument.content | string | The actual contents of the attachment object, if embedded, encoded as base64 | N/A(PR), N (JM), N/A (PA) |
billDocument.description | string | A narrative text describing the content of the attachment | N/A(PR), N (JM), N/A (PA) |
billDocument.mimeType | string | Attachment mime type such as extension file for video, picture and document | N/A(PR), N (JM), N/A (PA) |
billDocument.name | string | The name of the attachment | N/A(PR), N (JM), N/A (PA) |
billDocument.@type | string | When sub-classing, this defines the sub-class entity name | N/A(PR), N (JM), N/A (PA) |
billDocument.content | string | The actual contents of the attachment object, if embedded, encoded as base64 | N/A(PR), N (JM), N/A (PA) |
billDocument.url | string | Uniform Resource Locator, is a web page address (a subset of URI) | N/A(PR), N (JM), N/A (PA) |
billDocument.size | Object | An amount in a given unit | N/A(PR), N (JM), N/A (PA) |
billDocument.size.amount | number | The size of the attachment. | N/A(PR), N (JM), N/A (PA) |
billDocument.size.units | string | Unit of the attachment. Eg: "bytes" | N/A(PR), N (JM), N/A (PA) |
billDocument.validFor | object | The period of time for which the attachment is valid | N/A(PR), N (JM), N/A (PA) |
billDocument.validFor.endDateTime | datetime | End of the time period, using IETC-RFC-3339 format | N/A(PR), N (JM), N/A (PA) |
billDocument.validFor.startDateTime | datetime | Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end | N/A(PR), N (JM), N/A (PA) |
billingAccount | object | BillingAccount reference | N(PR), N (JM), Y(PA) |
billingAccount.id | string | Unique identifier for the account | N(PR), N (JM), Y(PA) |
billingAccount.href | string | Reference of the EntityRef | N/A(PR), N (JM), N/A (PA) |
billingAccount.name | string | Name of the EntityRe | N/A(PR), N (JM), N/A (PA) |
billingAccount.@baseType | string | When sub-classing, this defines the super-class | N/A(PR), N (JM), N/A (PA) |
billingAccount.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N/A(PR), N (JM), N/A (PA) |
billingAccount.@type | string | When sub-classing, this defines the sub-class entity name | N(PR), N (JM), N/A (PA) |
billingAccount.@referredType | string | The actual type of the target instance when needed for disambiguation. | N/A(PR), N (JM), Y(PA) |
billingPeriod | object | A time period. | N(PR),N (JM), N/A (PA) |
billingPeriod.endDateTime | datetime | The usage bill-through date of the invoice or end of the time period, using IETC-RFC-3339 format | N(PR), N (JM), N/A (PA) |
billingPeriod.startDateTime | datetime | The usage bill from date or start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end | N(PR), N (JM), N/A (PA) |
financialAccount | object | AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party. | N/A(PR), N (JM), N(PA) |
financialAccount.id | string | Unique identifier for the account | N/A(PR), N (JM), N(PA) |
financialAccount.href | string | Reference of the account | N/A(PR), N (JM), N/A (PA) |
financialAccount.name | string | Name of the account | N/A(PR), N (JM), N/A (PA) |
financialAccount.@baseType | string | When sub-classing, this defines the super-class | N/A(PR), N (JM), N/A (PA) |
financialAccount.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N/A(PR), N (JM), N/A (PA) |
financialAccount.@type | string | When sub-classing, this defines the sub-class entity name | N/A(PR), N (JM), N/A (PA) |
financialAccount.@referredType | string | The actual type of the target instance when needed for disambiguation. | N/A(PR), N (JM), N(PA) |
financialAccount.accountBalance | array | Balances linked to the account | N/A(PR), N (JM), N(PA) |
financialAccount.accountBalance.balanceType | string | Type of the balance ; deposit balance, disputed balance, loyalty balance, receivable balance | N/A(PR), N (JM), N(PA) |
financialAccount.accountBalance.amount | object | A base / value business entity used to represent money | N/A(PR), N (JM), N(PA) |
financialAccount.accountBalance.amount.unit | string | Currency (ISO4217 norm uses 3 letters to define the currency) | N/A(PR), N (JM), N(PA) |
financialAccount.accountBalance.amount.value | number | A positive floating point number | N/A(PR), N (JM), N(PA) |
financialAccount.accountBalance.validFor | Object | A period of time | N/A(PR), N (JM), N/A (PA) |
financialAccount.accountBalance.validFor.endDateTime | datetime | End of the time period, using IETC-RFC-3339 format | N/A(PR), N (JM), N/A (PA) |
financialAccount.accountBalance.validFor.startDateTime | datetime | Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end | N/A(PR), N (JM), N/A (PA) |
financialAccount.accountBalance.@baseType | string | When sub-classing, this defines the super-class | N/A(PR), N (JM), N/A (PA) |
financialAccount.accountBalance.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N/A(PR), N (JM), N/A (PA) |
financialAccount.accountBalance.@type | string | When sub-classing, this defines the sub-class entity name | N/A(PR), N (JM), N/A (PA) |
paymentMethod | object | PaymentMethod reference. A payment method defines a specific mean of payment | N/A(PR), N (JM), N/A (PA) |
paymentMethod.id | string | Unique identifier for the EntityRef | N/A(PR), N (JM), N/A (PA) |
paymentMethod.href | string | Reference of the EntityRef | N/A(PR), N (JM), N/A (PA) |
paymentMethod.name | string | Name of the EntityRef | N/A(PR), N (JM), N/A (PA) |
paymentMethod.@baseType | string | When sub-classing, this defines the super-class | N/A(PR), N (JM), N/A (PA) |
paymentMethod.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N/A(PR), N (JM), N/A (PA) |
paymentMethod.@type | string | When sub-classing, this defines the sub-class entity name | N/A(PR), N (JM), N/A (PA) |
paymentMethod.@referredType | string | The actual type of the target instance when needed for disambiguation. | N/A(PR), N (JM), N/A (PA) |
relatedParty | array | Related Entity reference. A related party defines party or party role linked to a specific entity | N(PR), N (JM), N/A (PA) |
relatedParty.id | string | Unique identifier for the related entity. | N(PR), N (JM), N/A (PA) |
relatedParty.href | string | Reference of the related entity. | N/A(PR), N (JM), N/A (PA) |
relatedParty.name | string | Name of the related entity. | N/A(PR), N (JM), N/A (PA) |
relatedParty.role | string | Role played by the related party | N/A(PR), N (JM), N/A (PA) |
relatedParty.@baseType | string | When sub-classing, this defines the super-class | N/A(PR), N (JM), N/A (PA) |
relatedParty.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N/A(PR), N (JM), N/A (PA) |
relatedParty.@type | string | When sub-classing, this defines the sub-class entity name | N(PR), N (JM), N/A (PA) |
relatedParty.@referredType | string | The actual type of the target instance when needed for disambiguation. | N/A(PR), N (JM), N/A (PA) |
remainingAmount | Object | A money | N(PR), N (JM), N(PA) |
remainingAmount.unit | string | Currency (ISO4217 norm uses 3 letters to define the currency) | N(PR), N (JM), N(PA) |
remainingAmount.value | number | string | A positive floating point number Note for PR: This field type is string and the monetary amount to apply as balance forward. Note for PA and JM: This field type is number | N(PR), N (JM), N(PA) |
state | string | status of the invoice enum: - new - onHold - validated - sent - partiallyPaid - settled - due - paidFor Note for PR: Possible values will be "onHold, new, settled" | N(PR),Y (JM), N/A (PA) |
taxExcludedAmount | object | A base / value business entity used to represent money | N/A (PR), N (JM), N(PA) |
taxExcludedAmount.unit | string | Currency (ISO4217 norm uses 3 letters to define the currency) | N/A (PR), N (JM), N(PA) |
taxExcludedAmount.value | number | A positive floating point number. | N/A (PR), N (JM), Y(PA) |
taxIncludedAmount | object | A money | N(PR), N (JM), N(PA) |
taxIncludedAmount.unit | string | Currency (ISO4217 norm uses 3 letters to define the currency) | N(PR), N (JM), N(PA) |
taxIncludedAmount.value | number | string | A positive floating point number Note for PR: This field type is string and this is the monetary amount of new charges detailed in the statement. Note for PA and JM: This field type is number | N(PR), N (JM), N(PA) |
taxItem | array | A tax item is created for each tax rate and tax type used in the bill. | N/A(PR), N (JM), N(PA) |
taxItem.taxCategory | string | tax Category | N/A(PR), N (JM), N(PA) |
taxItem.taxRate | number | Applied rate of the tax | N/A(PR), N (JM), N/A (PA) |
taxItem.taxAmount | Object | Amount of tax expressed in the given currency | N/A(PR), N (JM), N(PA) |
taxItem.taxAmount.unit | string | Currency (ISO4217 norm uses 3 letters to define the currency) | N/A(PR), N (JM), N(PA) |
taxItem.taxAmount.value | number | A positive floating point number | N/A(PR), N (JM), N(PA) |
extendedCharacteristic[] | array | extended characteristics of customerBill | N/A(PR), N/A(JM), N(PA) |
extendedCharacteristic[].name | string | Name of the extendedCharcteristic Ref | N/A(PR), N/A(JM), N(PA) |
extendedCharacteristic[].value | any | Value of the extendedCharcteristic Ref | N/A(PR), N/A(JM) N(PA) |
@baseType | string | When sub-classing, this defines the super-class | N(PR), N (JM), N(PA) |
@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N/A(PR), N (JM), N/A (PA) |
@type | string | When sub-classing, this defines the sub-class entity name | N(PR), N (JM), N(PA) |
appliedPayment subResource dataModel:
field | value | description | required (mandatory-Y, optional-N, Not applicable- N/A) | example |
---|---|---|---|---|
appliedAmount | object | A base / value business entity used to represent money | Y(PA) | PA: { "appliedAmount": { "unit": "PAB", "value": 0 } } |
payment | object | If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order. | Y(PA) | PA: { "payment": { "id": "0", "paymentDate": "2021-03-01T21:00:06.000-5:00", "@referredType": "payment" } } |
financialAccount.accountBalance subResource -Data Model
balanceType | value | description | required (mandatory-Y, optional-N, Not applicable- N/A) | example |
---|---|---|---|---|
balanceBroughtForward | string | The amount from the previous billing cycle that was not paid by the customer and is carried over to the current billing cycle | N(PA) | PA: { "balanceType": "balanceBroughtForward", "amount": { "unit": "PAB", "value": 66.7 } } |
balanceCarriedForward | string | The total outstanding balance that will be moved forward to the next billing cycle. | N(PA) | PA: { "balanceType": "balanceCarriedForward", "amount": { "unit": "PAB", "value": 66.7 } } |
totalBillableAmount | string | The total amount that the customer is liable to pay for the current billing period | N(PA) | PA: { "balanceType": "totalBillableAmount", "amount": { "unit": "PAB", "value": 0 } } |
totalOutstandingBalance | string | The cumulative amount that remains unpaid by the customer up to the current date | N(PA) | PA: { "balanceType": "totalOutstandingBalance", "amount": { "unit": "PAB", "value": 0 } } |
taxItem subResource -Data Model
taxCategory | value | description | required (mandatory-Y, optional-N, Not applicable- N/A) | example |
---|---|---|---|---|
queryTaxAmount | string | Tax included on queried amount | N(PA) | PA: { "taxCategory": "queryTaxAmount", "taxAmount": { "unit": "PAB", "value": 0 } } |
extendedCharacteristic subResource -Data Model
name | value | description | required (mandatory-Y, optional-N, Not applicable- N/A) | example |
---|---|---|---|---|
queryAmount | string | Amount that queried | N(PA) | PA: { "name": "queryAmount", "value": 0 } |
adjustAmount | string | Reflects the amount that has been manually adjusted on the bill due to corrections, discounts, promotional credits, or dispute resolutions applied by the service provider. | N (PA) | PA: { "name": "adjustAmount", "value": 0 } |
billDisputed | string | Indicates whether the customer has raised a dispute regarding the bill (e.g., incorrect charges, overbilling, or service-related complaints). A value of true flags the bill as disputed. | N(PA) | PA: { "name": "billDisputed", "value": false } |
checkAlertCode | string | Refers to a system or module responsible for managing alerts or warnings related to the customer account. | N(PA) | PA: { "name": "checkAlertCode", "value": "0" } |
Key Considerations :
- Please refer the examples from the following URL - DXP UX - GET CustomerBill_v1
PA Implementation
1. This implementation retrieves the customer bill history from Liberate for FIXED and POSTPAID accounts.
2. To retrieve customer bill history for a specific duration, startDate and endDate queryParameters must be passed.
3. If the dates are not specified in queryParams, the API returns customer bills for last one year by default.
4. In the response, appliedPayment[].payment.id field will be displayed as "0" by default, as paymentId is not returned from Liberate.
5. For all the dateTime fields
- Any datetime before 1908-04-22 will show offset -05:18
- Any datetime on or after 1908-04-22 will show offset -05:00
PR Implementation
1. billingAccount.id and relatedParty.id queryParams are only applicable when bills need to be retrieved from evertec.
2. startDate, endDate and pdfId queryParams are not applicable when bills need to be retrieved from evertec.
3. To fetch CustomerBill from Csg customers, need to pass lob as "FIXED"
4. To fetch CustomerBill from Aria Customers, need to lob as "POSTPAID"
5. Retrieve bill history from evertec usecase:
- Allowed values for targetSystem header are "EVERTEC"
- Allowed values for lob header are "POSTPAID"
- Allowed values for channelId header are "APP"
Possible Error Scenarios (PA):
IF WE ARE PASSING INVALID (accountId) NUMBER IN QUERYPARAMS
{
"errors": [
{
"code": 404,
"message": "Liberate : Customer bill history not found for account no: 860019440001",
"description": "NOACCTSFOUND-No Accounts Found."
}
]
}
IF WE ARE PASSING BLANK (accountId) IN QUERYPARAMS
{
"errors": [
{
"code": 400,
"message": "VALIDATION:BLANK_STRING",
"description": "Required query parameter 'accountId' must be passed"
}
]
}
IF WE ARE PASSING ANY ONE OF THE DATES (startDate OR endDate) IN QUERYPARAMS
{
"errors": [
{
"code": 400,
"message": "VALIDATION:INVALID_BOOLEAN",
"description": "A startDate must be supplied as an endDate has been supplied."
}
]
}
{
"errors": [
{
"code": 400,
"message": "VALIDATION:INVALID_BOOLEAN",
"description": "An endDate must be supplied as a startDate has been supplied."
}
]
}
IF WE ARE PASSING INVALID startDate OR endDate FORMAT IN QUERYPARAMS
{
"errors": [
{
"code": 400,
"message": "APIKIT:BAD_REQUEST",
"description": "Invalid value '20-04-01' for query parameter startDate. [20-04-01] is not a valid date. Expected [yyyy-MM-dd]"
}
]
}
{
"errors": [
{
"code": 400,
"message": "APIKIT:BAD_REQUEST",
"description": "Invalid value '20-04-01' for query parameter endDate. [20-04-01] is not a valid date. Expected [yyyy-MM-dd]"
}
]
}
IF WE ARE PASSING startDate GREATER THAN endDate IN QUERYPARAMS
{
"errors": [
{
"code": 400,
"message": "VALIDATION:INVALID_BOOLEAN",
"description": "The startDate must be less than the endDate"
}
]
}
IF BILLS ARE NOT FOUND IN REQUESTED TIME PERIOD
{
"errors": [
{
"code": 404,
"message": "Liberate : No Bills found for the requested time period, account no: 148019330000",
"description": "NOBILLSFOUND-Bills not found"
}
]
}
Possible Error Scenarios for JM or PR:
IF WE ARE PASSING INVALID (accountId) NUMBER IN QUERYPARAMS
{
"errors": [
{
"code": 400,
"message": "ARIA:INVOICE_HISTORY",
"description": "1009 | account does not exist"
}
]
}
{
"errors": [
{
"code": 404,
"message": "** CIP09W - UNABLE TO XREF SUB PREFIX For ACCOUNTNO : 8211990010042298",
"description": "2099 ** CIP09W - UNABLE TO XREF SUB PREFIX"
}
]
}
{
"errors": [
{
"code": 404,
"message": "Liberate : Customer bill history not found for account no: 860019440001",
"description": "NOACCTSFOUND-No Accounts Found."
}
]
}
IF WE ARE PASSING BLANK (startDate) IN QUERYPARAMS
{
"errors": [
{
"code": 400,
"message": "VALIDATION:BLANK_STRING",
"description": "Start Date cannot be blank"
}
]
}
IF WE ARE PASSING BLANK (endDate) IN QUERYPARAMS
{
"errors": [
{
"code": 400,
"message": "VALIDATION:BLANK_STRING",
"description": "End Date cannot be blank"
}
]
}
INVALID URL
{
"errors": [
{
"code": 405,
"message": "APIKIT:METHOD_NOT_ALLOWED",
"description": "HTTP Method get not allowed for : /{businessId}"
}
]
}
INVALID LOB
{
"errors": [
{
"code": 400,
"message": "ERROR:LOB_VALIDATION",
"description": "Lob must be of type POSTPAID"
}
]
}